package com.portal.facade.impl;

import java.util.ArrayList;
import java.util.List;

import javax.ejb.EJB;
import javax.ejb.Stateless;

import com.portal.dao.ContratoDAO;
import com.portal.entities.Contrato;
import com.portal.facade.ContratoFacade;

@Stateless
public class ContratoFacadeImpl implements ContratoFacade {

	@EJB
	private ContratoDAO contratoDAO;
	
	@Override
	public List<Contrato> findContratosByNumero(Long numeroDoContrato) {
		return contratoDAO.findContratosByNumero(numeroDoContrato);
	}

	@Override
	public Contrato findContratoById(Long contratoId) {
		return contratoDAO.find(contratoId);
	}

	@Override
	public List<Contrato> findContratos(Contrato contrato) {
		List<Contrato> retorno = new ArrayList<Contrato>();
		
		if(contrato.getNumeroContrato() != null && contrato.getNumeroContrato() != 0){
			retorno = contratoDAO.findContratosByNumero(contrato.getNumeroContrato());
		} else if (retorno.size() == 0 && contrato.getCnpjDevedor() != null && contrato.getCnpjDevedor() != 0){
			retorno = contratoDAO.findContratosByCpfCnpj(contrato.getCnpjDevedor());
		} else if (retorno.size() == 0 && contrato.getNomeDevedor() != null && !contrato.getNomeDevedor().isEmpty()){
			retorno = contratoDAO.findContratosByNome(contrato.getNomeDevedor());
		}
		return retorno;
	}
}
